package com.example.ecommerce.dto;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;
import java.util.List;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class MenuDTO {
    /**
     * 菜单ID
     */
    private Long id;

    /**
     * 父菜单ID
     */
    private Long parentId;

    /**
     * 菜单名称
     */
    private String title;

    /**
     * 图标
     */
    private String icon;

    /**
     * 路由路径
     */
    private String path;

    /**
     * 组件路径
     */
    private String component;

    /**
     * 排序
     */
    private Integer sort;

    /**
     * 是否隐藏: 0-显示 1-隐藏
     */
    private Boolean hidden;

    /**
     * 是否缓存: 0-不缓存 1-缓存
     */
    private Boolean keepAlive;

    /**
     * 状态: 0-禁用 1-启用
     */
    private Integer status;

    /**
     * 创建时间
     */
    private LocalDateTime createdAt;

    /**
     * 更新时间
     */
    private LocalDateTime updatedAt;

    /**
     * 子菜单列表
     */
    private List<MenuDTO> children;

    /**
     * 父菜单名称（用于展示）
     */
    private String parentTitle;

    /**
     * 是否有子菜单
     */
    private Boolean hasChildren;

    /**
     * 菜单层级
     */
    private Integer level;

    /**
     * 权限标识
     */
    private String permission;
} 